camelCaseToSnake

Convert a lower camelcase string to snake case. We can't use regex to match at compile-time so we'll iterate through the string and convert it manually.

@safe pure
string
camelCaseToSnake
(
in string s
)

Examples

assert("ABCD".camelCaseToSnake == "abcd");
assert("A0CD".camelCaseToSnake == "a0_cd");
assert("aBcD".camelCaseToSnake == "a_bc_d");
assert("aBcDE".camelCaseToSnake == "a_bc_de");
assert("a0CDe".camelCaseToSnake == "a0_c_de");
assert("abCDe".camelCaseToSnake == "ab_c_de");
assert("aBc1".camelCaseToSnake == "a_bc1");
assert("xABy".camelCaseToSnake == "x_a_by");
assert("caccaPipiPuzzetta".camelCaseToSnake == "cacca_pipi_puzzetta");
assert("vacuum0PThreshold".camelCaseToSnake == "vacuum0_p_threshold");
assert("vacuum0PressThreshold".camelCaseToSnake == "vacuum0_press_threshold");
assert("".camelCaseToSnake == "");

assert("cop3pAvg".camelCaseToSnake == "cop3p_avg");
assert("cop3p".camelCaseToSnake == "cop3p");
assert("vSupply3pMeas".camelCaseToSnake == "v_supply3p_meas");
assert("pDisAtTCondSp".camelCaseToSnake == "p_dis_at_t_cond_sp");
assert("res8r1".camelCaseToSnake == "res8r1");
assert("pid00run".camelCaseToSnake == "pid00run");

See Also

Meta